A Compile - Time Openmp Cost Model
نویسندگان
چکیده
OpenMP is a de facto API for parallel programming in C/C++ and Fortran on shared memory and distributed shared memory platforms. It is also being increasingly used with MPI to form a hybrid programming model and is expected to be a promising candidate to exploit emerging multicore architectures. An OpenMP cost model is an analytical model that reflects the characteristics of OpenMP applications on given platforms and estimates the cost, mostly in cycles, of their execution. Such a model could be widely used to evaluate designs of computer architectures, guide compiler transformations, enhance adaptive runtime support, and assist advanced performance analysis. However, existing cost models for OpenMP make over-simplifying assumptions and ignore many software and hardware details. They are too simplistic to support significant optimizations, or meet the demands that are likely to be placed on them in the near future. In this dissertation, we propose a novel OpenMP cost model to consider OpenMP language details along with application features and platform profiles. A prototype has been implemented in an optimizing and portable OpenMP compiler. The experimental results show that our OpenMP cost model can provide relatively accurate estimations. Moreover, we evaluated the performance characteristics of OpenMP on some multicore and multithreaded architectures and explored possible extensions to our OpenMP cost model for them. We believe our model can meet the demands of different application scenarios and can serve as a basis for a wide range of modelbased compilation and runtime systems.
منابع مشابه
Controlling Distributed Shared Memory Consistency from High Level Programming Languages
One of the keys for the success of parallel processing is the availability of high-level programming languages for on-the-shelf parallel architectures. Using explicit message passing models allows efficient executions. However, direct programming on these execution models does not give all benefits of high-level programming in terms of software productivity or portability. HPF avoids the need f...
متن کاملSupport for Thread-Level Speculation into OpenMP
– In-depth knowledge of the problem. – Understanding of the underlying architecture. – Knowledge on the parallel programming model. • OpenMP allows to parallelize code “avoiding” these requirements. • Compilers’ automatic parallelization only proceed when there is no risk. • Thread-Level Speculation (TLS) can extract parallelism when a compile-time dependence analysis can not guarantee that the...
متن کاملA Runtime Optimization System for OpenMP
This paper introduces stOMP: a specializing thread-library for OpenMP. Using a combined compile-time and run-time system, stOMP specializes OpenMP parallel regions for frequently-seen values and the configuration of the runtime system. An overview of stOMP is presented as well as motivation for the runtime optimization of OpenMP applications. The overheads incurred by a prototype implementation...
متن کاملStatic Nonconcurrency Analysis of OpenMP Programs
Writing correct and eÆcient parallel programs is more diÆcult than doing so for sequential programs. One of the challenges comes from the nature of concurrent execution of a parallel program by di erent threads. Determining exact concurrency is NP-hard[10], and is impossible for real-world programs at compile time. OpenMP provides an easy and incremental way to write parallel programs. The well...
متن کاملTowards optimisation of openMP codes for synchronisation and data reuse
In this paper, we present the compiler transformation of OpenMP code to an ordered collection of tasks, and the compile-time as well as runtime mapping of the resulting task graph to threads for data reuse. The ordering of tasks is relaxed where possible so that the code may be executed in a more loosely synchronous fashion. Our current implementation uses a runtime system that permits tasks to...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007